package com.crm.service;

import com.crm.base.BaseService;
import com.crm.domain.vo.ModuleTreeVO;
import com.crm.domain.entity.Module;
import com.crm.domain.vo.MenuTreeVO;

import java.util.List;

/**
 * 模块业务层接口
 */
public interface ModuleService extends BaseService<Module> {

    /**
     * 查询用户权限
     *
     * @param uId  用户ID
     * @param type 菜单类型
     */
    List<Module> findModuleByUid(Integer uId, String type);

    /**
     * 查询角色权限
     *
     * @param roleId 角色ID
     */
    List<Integer> getModuleByRoleId(Integer roleId);


    /**
     * 根据用户查询菜单树
     *
     * @param uId 用户ID
     */
    List<MenuTreeVO> getMenu(Integer uId);


    /**
     * 查询权限树
     */
    List<ModuleTreeVO> findModule();
}
